[케이스 스터디] 카니발 AR 온라인 론칭쇼 만든 비브스튜디오
언리얼 엔진으로 AR 촬영 현장에 최적화된 제어 인터페이스 구현
현대자동차그룹 기아자동차는 온라인 론칭쇼 ‘카니발 온 AR(Carnival on AR)’을 통해 카니발 자동차의 새로운 모델을 공개했다. 글로벌 스토리텔링 기업인 비브스튜디오(Vive Studios)는 이 온라인 론칭쇼에 언리얼 엔진의 AR 기술을 접목해 실제 자동차와 같은 수준 높은 퀄리티를 선보였는데, 언리얼 엔진으로 AR 촬영 현장에 최적화된 제어 인터페이스를 구현하고, 실사 수준의 자동차를 시각화하면서 론칭쇼를 성공적으로 이끌었다. ■ 자료제공 : 에픽게임즈
▲ 출처 : 4세대 카니발 AR 온라인 론칭쇼 메이킹 필름
비브스튜디오는 상상력과 기술의 한계에 도전하며 VR 휴먼 다큐멘터리 ‘너를 만났다’, 아이돌 그룹 아이즈원의 XR 콘서트 ‘ONEIRIC THEATER’와 같이 VR, AR, VFX 등 다양한 분야에서 각광받는 작품들을 제작해왔으며, 이번 자동차 AR 론칭쇼까지 성공적으로 마무리하며 호평을 받고 있다.
‘카니발 온 AR’은 6년 만에 출시된 ‘카니발’ 시리즈의 최신 모델을 고객들에게 비대면으로 소개하는 프로젝트로, 현장에서 자동차를 직접 보고 만질 수 있는 기존의 오프라인 론칭쇼를 진행하기 어려운 현 상황을 반영해 온라인에서도 카니발의 특징과 장점들을 쉽고 흥미롭게 이해할 수 있는 간접 경험을 충분히 제공하도록 했다.
론칭쇼의 결과는 매우 성공적이었다. 전 세계 시청자들에게 실시간 스트리밍 서비스를 통해 공개되었는데, 국내 온라인 론칭쇼 사상 최고 접속률인 15만 5000회를 기록했으며 3300명에 달하는 최대 동시접속자 수를 기록했다. 또한 실시간 렌더링 기술을 활용한 AR 온라인 론칭쇼의 새로운 가능성을 업계에 제시했을 뿐 아니라, 실제와 증강현실의 구분이 어려울 정도로 높은 퀄리티를 고객들에게 선사하며 새로운 경험을 제공했다.
비브스튜디오의 성공적인 론칭쇼의 중심에는 언리얼 엔진이 있었다. 비브스튜디오가 4세대 카니발 AR 론칭쇼에서 언리얼 엔진을 어떻게 활용했는지 구체적으로 알아보자.
프로젝트 콘셉트
카니발 온 AR 프로젝트에서 비브스튜디오는 라이브 방송과 같은 생생함, 발표자와 자동차 사이의 인터랙션, 제품의 브랜드 철학을 모두 보여주기 위해 새로운 크리에이티브 솔루션을 만들었다. 공간과 사람, 정보와 경험 그리고 세대를 연결하는 ‘커넥팅 허브’라는 카니발의 철학을 론칭쇼 자체에도 담기 위해 론칭쇼가 펼쳐지는 스튜디오 공간에도 실제 자동차와 증강현실로 구현된 자동차, 가상현실 공간에서 등장하는 자동차라는 3개의 차원이 연결되는 콘셉트를 적용했다. 그리고 현실과 나란히 펼쳐지는 증강현실과 가상현실을 구현하기 위해 언리얼 엔진을 활용했다.
기술적 목표
비브스튜디오는 이번 이벤트를 준비하면서 세 가지 목표를 설정했다.
첫 번째, 시청자가 실제와 가상의 구분이 어렵다고 느낄 만큼의 실사 수준의 자동차를 시각화하는 것이었다. 두 번째, 시청자와 고객들이 AR과 가상현실을 통해 규모 있는 대형 이벤트로 받아들이게 하는 것이었다. 따라서 넓고 텅 빈 무대를 역동적으로 연출하기 위해 실제 자동차 1대를 제외한 모든 요소를 언리얼 엔진으로 실시간 렌더링했다. 실사 수준의 AR 자동차의 디테일에 집중하는 동시에 무대 위 가상 LED월 너머로 펼쳐지는 제3의 공간을 실시간으로 시각화해 더욱 확장된 무대를 보여주고자 했다.
세 번째 목표는 AR 촬영 현장에 최적화된 제어 인터페이스를 구현하는 것이었다. AR 촬영은 트래킹 장치, 실시간 합성 프로그램, PC 간 영상 동기화 등 일반 영상 촬영 현장에서 잘 사용되지 않는 여러 기술과 장비들이 어우러져 매우 복잡하고 큰 규모의 협업이 필요하며 현장에서는 장치 간 충돌이나 연출 변경, 발표자의 실수 등 예측하기 어려운 많은 변수들이 존재한다. 따라서 현장에서 발생하는 긴급한 이슈에 대한 빠른 대응이나 매끄러운 촬영 진행을 위해서는 전문적인 인터페이스와 제어 기능들이 필요했다. 때문에 제로 덴서티(Zero Density)나 픽스토프(Pixotope)와 같은 안정적인 기존 상용 솔루션 대신에 자유로운 기능 확장 및 빠른 현장 대응을 고려해 언리얼 엔진 기반의 자체 AR 솔루션인 V2Xr을 구현하기로 결정했다. 이 같은 도전은 언리얼 엔진의 실시간 연동 기능, 외부 영상과의 합성이 용이한 점과 함께 에픽게임즈에서 제공하는 다양한 플러그인이 있기에 가능했다.
AR 솔루션 V2Xr의 구성
비브스튜디오의 자체 AR 솔루션인 V2Xr은 시스템 전반의 제어와 운영을 담당하는 원격 제어 인터페이스인 라이브콤프와 AR이나 LED월을 위한 언리얼 엔진 기반의 시각화 프로그램인 XR 플레이어로 구성된다. 라이브콤프와 XR 플레이어는 네트워크 연결을 통해 매 순간 상태 및 명령을 주고받으면서 시각화 장면들을 제어하게 되는데, 특히 언리얼 엔진의 강력한 리얼타임 렌더링에 힘입은 XR 플레이어로 기술적 목표를 달성할 수 있었다.
XR 플레이어
라이브콤프의 제어 신호를 받아 시퀀서 헤드 위치를 변경하고 AR을 위한 영상 합성을 실행하는 등의 다양한 작업들이 XR 플레이어 안에서 이루어진다. XR 플레이어는 역할에 따라 AR 플레이어, SC 플레이어 두 가지 타입으로 나눌 수 있는데, AR 플레이어는 말 그대로 카메라 영상과 CG 영상을 실시간으로 합성해주는 역할을 하며, SC 플레이어는 LED월이나 프로젝션 월에 리얼타임 렌더링 그래픽이나 일반 영상을 실시간으로 출력하는 기능을 담당한다. 각 플레이어는 별도의 PC에서 독립적으로 실행되며, AR 카메라나 LED월의 개수에 따라 렌더링 PC를 추가할 수 있다.
AR 플레이어
AR 플레이어는 외부 트래킹 장치를 통해 카메라의 움직임 정보를 받아 CG에 반영한 후 실제 카메라 영상과 실시간으로 합성하는 기능을 제공한다. 이때 합성 방식이나 렌즈 왜곡을 보정하는 기능은 트래킹 장치의 통신 프로토콜 방식에 의해 결정되는데, V2Xr에서는 스타이프(Stype)의 통신 프로토콜과 범용 프로토콜인 FreeD 모두를 지원한다. 스타이프의 통신 프로토콜은 스타이프가 제공하는 언리얼 엔진 플러그인을 통해 합성과 렌즈 보정이 이루어지며, FreeD는 언리얼 엔진의 컴포셔를 기반으로 합성과 렌즈 보정을 진행하게 된다.
영상 합성 및 렌즈 왜곡 보정
트래킹 장치가 언리얼 엔진용 합성 플러그인을 제공하지 않거나 특수한 기능을 추가해야 하는 경우, FreeD 프로토콜을 통해 카메라 상태 정보를 수신해 직접 합성 기능을 구현할 수 있다. 물론 렌즈 왜곡 보정 기능도 꼭 필요하다. 이때 언리얼 엔진이 기본 제공하는 렌즈 디스토션 플러그인과 컴포셔는 이 같은 실시간 AR 합성 시 매우 유용하게 사용될 수 있다.
▲ 캘리브레이션 데이터로 렌즈 왜곡을 보정
AR 합성 시 렌즈의 왜곡을 효과적으로 보정하는 과정은 매우 중요하지만 아주 어려운 작업이다. 특히, B4마운트 기반 방송용 렌즈의 경우 줌에 따라 화각의 차이가 매우 크며, 광각에서 상당한 렌즈 왜곡이 발생한다. 포커스 위치에 따라서도 왜곡의 양상이 달라지기 때문에 다수의 캘리브레이션 데이터를 만들고 영상을 합성할 때 적절한 보정 수치를 적용해 주어야 한다. 이를 위해 AR 플레이어에서는 렌즈 디스토션 플러그인을 통해 매 프레임 왜곡 보정 수치를 적용한 렌더 타깃을 생성하고, 컴포셔에서는 생성된 이미지를 기반으로 카메라 영상의 UV를 변형하는 방법으로 왜곡을 보정한다.
CG 색상 조정
AR 촬영 현장에서 주변 조건에 맞도록 CG의 색상 톤을 조정하는 기능은 매우 중요하다. 물리적인 조명의 연출 콘셉트나 상태에 따라 가장 적절한 색상 톤을 CG에 적용해야 이질감 없이 자연스러운 합성이 이루어지기 때문에, 상황별로 지정된 색상 톤 정보들을 읽어서 화이트 밸런스와 감마, 노출 등 언리얼 엔진이 기본 제공하는 포스트 프로세스의 항목들에 즉시 반영할 수 있는 기능을 구현했다. 이 기능으로 라이브콤프의 타임라인에 키 포인트를 생성하여 언리얼 엔진 콘텐츠에 색상 정보를 실시간으로 반영할 수 있게 되어 더욱 직관적으로 현장에서 색상 이슈에 대응할 수 있었다.
SC 플레이어
SC 플레이어는 대형 LED월이나 프로젝션 월에 직접 출력되는 그래픽을 연출하기 위해 사용된다. 일종의 인 카메라 촬영을 위한 플레이어로서, 외부에서 카메라 움직임을 받아 언리얼 엔진에서 실시간으로 렌더링하게 된다. 이번 기아자동차 AR 론칭쇼에서는 물리적인 LED월을 설치하지 않고 SC 플레이어의 영상을 AR 플레이어에서 받아 마치 가상의 대형 LED월이 현장에 있는 것처럼 AR로 시각화했다.
기본적으로 AR 플레이어와 SC 플레이어의 카메라가 상호 동기화되어 함께 움직일 때 시각적 공간감이 극대화되기 때문에 SC 플레이어에서도 외부 카메라의 트래킹 정보를 실시간으로 받아 CG에 반영할 수 있으며, 트래킹 데이터를 수신하는 여러 방식을 제공한다. AR 플레이어와 마찬가지로 장비 제조사의 플러그인을 사용하거나 FreeD 데이터를 직접 파싱하여 사용할 수 있다.
또는 AR 플레이어의 소켓 채널에서 UDP 패킷으로 카메라 위치, 각도, 화각 등의 데이터를 전송하고, SC 플레이어에서 이를 수신해 카메라를 동기화할 수 있다. 이런 UDP 방식의 소켓 통신은 TCP/IP 방식보다 대용량 데이터를 빠르게 전달하는데 유리하며, 언리얼 엔진의 Simple TCP UDP 소켓 클라이언트 플러그인을 통해 손쉽게 구현할 수 있다. 이를 통해 AR 플레이어의 카메라와 SC 플레이어의 카메라는 완전히 동기화되어 동일하게 움직이게 된다.
▲ focal length, aperture, focus dist 등 실시간으로 전달받은 데이터를 카메라에 적용(위치, 각도는 제외)
▲ Interpolation 함수로 위치 및 각도 데이터를 부드럽게 적용
가상 LED월 표현
SC 플레이어의 영상을 현실의 LED월에 직접 출력하는 경우에는 카메라의 촬영 영역과 실제 LED 형태가 반영된 절두체(Frustum) 영역을 적용하기 위해 아나모픽 왜곡을 적용한 후 출력해야 한다. 하지만 이번 론칭쇼에서는 SC 플레이어에서 출력된 영상을 AR 플레이어로 바로 전달해 가상 LED월 형태로 사용했다. 따라서 전달된 영상을 LED 형태대로 마스킹한 후 다른 AR 요소와 함께 외부 카메라 영상과 합성하는 방식으로 작업을 진행했는데, 이 같은 가상 LED월 방식은 실제 카메라의 움직임에 따라 AR 요소와 LED월에 표시되는 영상이 동시에 반응하므로 마치 LED월 너머에 있는 다른 공간을 들여다보는 듯한 연출이 가능하게 된다. 또한 라이트, 포그, 포스트 프로세스 설정 등이 서로 다른 두 공간을 동시에 하나의 공간에 표현할 수 있다.
▲ 이번 론칭쇼에서는 SC 플레이어에서 출력된 영상을 AR 플레이어로 바로 전달해 가상 LED월 형태로 사용했다.
맺음말
비브스튜디오는 카니발 온 AR 론칭쇼를 준비하면서 언리얼 엔진 기반의 고품질 AR 그래픽을 보다 효과적으로 전달할 수 있는 여러 방법들에 대해 많은 고민을 했다. 특히, 원격 제어용 프로그램인 라이브콤프와 연계, 컴포셔 기반의 렌즈 왜곡 보정 및 합성, 현장에서의 즉각적인 색상 보정 등과 같이 운영 효율성을 개선하기 위한 기능에 집중했으며, 또한 가상 LED월 방식의 연출을 통해 보다 입체적인 공간 연출을 가능하게 했다. 짧은 준비 기간에도 불구하고 이러한 결과가 가능했던 이유는 언리얼 엔진이 제공하는 다양한 기능이나 플러그인을 적극적으로 활용하는 동시에 그 기반 위에 원하는 기능들을 덧붙여 빠르게 구현하고 테스트하는 과정을 반복할 수 있었기 때문이다.
이로써 비브스튜디오는 이번 론칭쇼를 통해 최고 수준의 기술 및 경험이 풍부한 컴퓨터 그래픽 디자이너와 AR/VR R&D 엔지니어와 함께 전 세계 고객을 대상으로 AR/VR 솔루션 서비스를 제공할 수 있었고, 이는 자사의 기술력을 한 단계 끌어올리는 계기가 되었다. 또한, 언리얼 엔진이 다양한 분야에서 활용되는 만큼 모든 산업 분야의 스트리밍 이벤트나 전시회를 대상으로 서비스를 제공하고 발전시킬 수 있는 엄청난 경험을 얻었으며, 이를 바탕으로 다양한 산업 분야에서 혁신을 이어 나갈 예정이다.
기사 내용은 PDF로도 제공됩니다.
작성일 : 2020-11-30